"""
loginpage.py


"""
from common.basepage import BasePage # 导入基类
# 使用 Page Object 模式，通过继承 BasePage 实现页面操作的封装
class LoginPage(BasePage):  # 继承基类
    def __init__(self,driver=None):
        super().__init__(driver)
        # 2. 元素定位器定义 登录页面用到的元素的定位方式
        self.account_loc ="id=account"  # 用户名输入框
        self.password_loc="id=password" # 密码输入框
        self.submit_loc = "id=submit" # 登录按钮
        self.assert_text_loc="css selector=.bootbox-body"  # 断言文本
# 3. 页面操作方法
    def type_account(self,account):
        self.input(self.account_loc,input_value=account) # 输入用户名

    def type_password(self,password):
        self.input(self.password_loc,input_value=password) # 输入密码

    def type_login_button(self):
        self.type_button(self.submit_loc)  # 点击登录按钮
    def get_loginpage_assert_text(self):
        return self.get_text(self.assert_text_loc)  # 获取提示文本
# 4. 测试流程整合
    def test_login(self):
        self.open_index()
        self.wait(2)
        self.type_account("admin")
        self.wait(2)
        self.type_password("123456")
        self.wait(2)
        self.type_login_button()
        self.wait(2)

if __name__ == '__main__':
    lp = LoginPage()
    lp.test_login()





 # t = driver.find_element(By.ID,"account") # "id=account" target
 #    # #动作链表示可以连续执行的动作,每个动作用 '.'进行连接,最后使用perform()进行结尾
 #    t.send_keys(logindata["username"])
 #
 #    driver.find_element(By.ID,"password").send_keys(logindata["password"])
 #
 #    driver.find_element(By.ID,"submit").click()